#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
创建测试数据
"""

import pandas as pd
import os
import random
from datetime import datetime, timedelta

def create_test_excel():
    """创建测试Excel文件"""
    # 创建测试目录
    if not os.path.exists('测试'):
        os.makedirs('测试')
    
    # 生成测试数据
    data = []
    
    # 定义测试数据
    counterparty_examples = [
        "在肯德基用餐", "星巴克咖啡", "麦当劳用餐", "海底捞聚餐",
        "乘坐地铁", "滴滴出行", "公交出行", "高铁出行",
        "在淘宝购物", "京东购物", "超市购物", "商场购物",
        "看电影", "KTV唱歌", "游乐场游玩", "游戏充值",
        "医院挂号", "体检费用", "药品购买", "牙科治疗",
        "购买教材", "在线课程", "培训费用", "学费缴纳",
        "房租", "水电费", "物业费", "装修费用",
        "其他消费", "意外支出", "礼金支出", "投资理财"
    ]
    
    # 生成1000条测试记录
    start_date = datetime(2025, 1, 1)
    for i in range(1000):
        # 随机生成交易时间
        transaction_date = start_date + timedelta(days=random.randint(0, 365))
        
        # 随机选择交易对象
        counterparty = random.choice(counterparty_examples)
        
        # 随机生成金额
        amount = round(random.uniform(10, 500), 2)
        
        # 随机选择收支类型
        transaction_type = random.choice(["收入", "支出"])
        
        # 随机选择支付方式
        payment_method = random.choice(["微信", "支付宝", "银行卡"])
        
        # 随机选择交易状态
        status = "支付成功"
        
        # 随机选择交易类型
        transaction_category = random.choice(["餐饮", "交通", "购物", "娱乐", "医疗", "教育", "住房", "其他"])
        
        data.append({
            "交易时间": transaction_date.strftime("%Y-%m-%d %H:%M:%S"),
            "交易类型": transaction_category,
            "收/支": transaction_type,
            "金额(元)": amount,
            "支付方式": payment_method,
            "当前状态": status,
            "交易对方": counterparty
        })
    
    # 创建DataFrame
    df = pd.DataFrame(data)
    
    # 添加表头信息（模拟真实微信账单格式）
    header_rows = [
        ["微信支付账单明细", "", "", "", "", "", ""],
        ["", "", "", "", "", "", ""],
        ["导出时间：2025-07-31 14:38:33", "", "", "", "", "", ""],
        ["", "", "", "", "", "", ""],
        ["微信昵称：[昵称]", "", "", "", "", "", ""],
        ["", "", "", "", "", "", ""],
        ["起始时间：2025-04-30 00:00:00", "", "", "", "", "", ""],
        ["终止时间：2025-07-31 23:59:59", "", "", "", "", "", ""],
        ["", "", "", "", "", "", ""],
        ["收入：10000.00元", "", "", "", "", "", ""],
        ["支出：8000.00元", "", "", "", "", "", ""],
        ["", "", "", "", "", "", ""],
        ["", "", "", "", "", "", ""],
        ["", "", "", "", "", "", ""],
        ["交易时间", "交易类型", "收/支", "金额(元)", "支付方式", "当前状态", "交易对方"]
    ]
    
    header_df = pd.DataFrame(header_rows)
    
    # 合并表头和数据
    final_df = pd.concat([header_df, df], ignore_index=True)
    
    # 保存为Excel文件
    file_path = '测试/微信支付账单流水文件(20250430-20250731)_20250731143833.xlsx'
    final_df.to_excel(file_path, index=False, header=False)
    
    print(f"测试Excel文件已创建: {file_path}")
    print(f"共生成 {len(data)} 条交易记录")

if __name__ == "__main__":
    create_test_excel()